package com.ruicar.afs.cloud.workflow.api.dto.afsprocess.request;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Data
public class TaskCreateRequest {

    @JSONField(name = "bizDataId")
    @JsonProperty("bizDataId")
    private String bizDataId;


    @JSONField(name = "Name")
    @JsonProperty("Name")
    private String flowName;

    @JSONField(name = "Status")
    @JsonProperty("Status")
    private String status;


    @JSONField(name = "Ctaskid")
    @JsonProperty("Ctaskid")
    private String nodeId;


    @JSONField(name = "Ctaskname")
    @JsonProperty("Ctaskname")
    private String taskName;


    @JSONField(name = "Flowid")
    @JsonProperty("Flowid")
    private String flowId;


    @JSONField(name = "Dataid")
    @JsonProperty("Dataid")
    private String dataId;


    @JSONField(name = "Ctaskmemo")
    @JsonProperty("Ctaskmemo")
    private String taskMemo;


    @JSONField(name = "Cmuser")
    @JsonProperty("Cmuser")
    private String muser;


    @JSONField(name = "ServiceId")
    @JsonProperty("ServiceId")
    private String serviceId;


    @JSONField(name = "Monitor")
    @JsonProperty("Monitor")
    private String monitor;


    @JSONField(name = "Workname")
    @JsonProperty("Workname")
    private String workName;


    @JSONField(name = "Deadline",format = "yyyy-MM-dd HH:mm:ss")
    @JsonProperty("Deadline")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date deadLine;


    @JSONField(name = "Officaldate",format = "yyyy-MM-dd HH:mm:ss")
    @JsonProperty("Officaldate")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date officalDate;


    @JSONField(name = "Cuser")
    @JsonProperty("Cuser")
    private String cuser;


    @JSONField(name = "Cdate",format = "yyyy-MM-dd HH:mm:ss")
    @JsonProperty("Cdate")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;


    @JSONField(name = "Edate",format = "yyyy-MM-dd HH:mm:ss")
    @JsonProperty("Edate")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;


    @JSONField(name = "Lockflag")
    @JsonProperty("Lockflag")
    private int lockFlag;


    @JSONField(name = "Topflag")
    @JsonProperty("Topflag")
    private int topFlag;


    @JSONField(name = "State")
    @JsonProperty("State")
    private int state;


    @JSONField(name = "ExField")
    @JsonProperty("ExField")
    private String extField;


    @JSONField(name = "RefData")
    @JsonProperty("RefData")
    private String refData;


    @JSONField(name = "ID")
    @JsonProperty("ID")
    private String flowInstanceId;

    @JSONField(name = "afsFlowKey")
    @JsonProperty("afsFlowKey")
    private String afsFlowKey;
}
